// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : http://ekoindri.com/radphp/research/soap_sis_register.php?wsdl
//  >Import : http://ekoindri.com/radphp/research/soap_sis_register.php?wsdl>0
// Encoding : ISO-8859-1
// Version  : 1.0
// (12/27/2011 10:53:04 PM - - $Rev: 28374 $)
// ************************************************************************ //

unit soap_sis_register;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Embarcadero types; however, they could also 
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:string          - "http://www.w3.org/2001/XMLSchema"[Gbl]
  // !:integer         - "http://www.w3.org/2001/XMLSchema"[Gbl]

  TInfoServer          = class;                 { "http://localhost"[GblCplx] }
  TInfologin           = class;                 { "http://localhost"[GblCplx] }



  // ************************************************************************ //
  // XML       : TInfoServer, global, <complexType>
  // Namespace : http://localhost
  // ************************************************************************ //
  TInfoServer = class(TRemotable)
  private
    Fserver_host: string;
    Fserver_database: string;
    Fserver_username: string;
    Fserver_password: string;
  published
    property server_host:     string  read Fserver_host write Fserver_host;
    property server_database: string  read Fserver_database write Fserver_database;
    property server_username: string  read Fserver_username write Fserver_username;
    property server_password: string  read Fserver_password write Fserver_password;
  end;



  // ************************************************************************ //
  // XML       : TInfologin, global, <complexType>
  // Namespace : http://localhost
  // ************************************************************************ //
  TInfologin = class(TRemotable)
  private
    FID: Int64;
    FUSER_NAME: string;
    FUSER_PASSWORD: string;
    FUSER_NAMA_AWAL: string;
    FUSER_NAMA_TENGAH: string;
    FUSER_NAMA_AKHIR: string;
    FUSER_OTORISASI: string;
    FUSER_EMAIL: string;
    FUSER_WEBSITE: string;
    FUSER_YM: string;
    FUSER_ALAMAT: string;
    FUSER_KOTA: string;
    FUSER_PROPINSI: string;
    FUSER_KETERANGAN: string;
  published
    property ID:               Int64   read FID write FID;
    property USER_NAME:        string  read FUSER_NAME write FUSER_NAME;
    property USER_PASSWORD:    string  read FUSER_PASSWORD write FUSER_PASSWORD;
    property USER_NAMA_AWAL:   string  read FUSER_NAMA_AWAL write FUSER_NAMA_AWAL;
    property USER_NAMA_TENGAH: string  read FUSER_NAMA_TENGAH write FUSER_NAMA_TENGAH;
    property USER_NAMA_AKHIR:  string  read FUSER_NAMA_AKHIR write FUSER_NAMA_AKHIR;
    property USER_OTORISASI:   string  read FUSER_OTORISASI write FUSER_OTORISASI;
    property USER_EMAIL:       string  read FUSER_EMAIL write FUSER_EMAIL;
    property USER_WEBSITE:     string  read FUSER_WEBSITE write FUSER_WEBSITE;
    property USER_YM:          string  read FUSER_YM write FUSER_YM;
    property USER_ALAMAT:      string  read FUSER_ALAMAT write FUSER_ALAMAT;
    property USER_KOTA:        string  read FUSER_KOTA write FUSER_KOTA;
    property USER_PROPINSI:    string  read FUSER_PROPINSI write FUSER_PROPINSI;
    property USER_KETERANGAN:  string  read FUSER_KETERANGAN write FUSER_KETERANGAN;
  end;

  TInfologins = array of TInfologin;            { "http://localhost"[GblCplx] }

  // ************************************************************************ //
  // Namespace : http://localhost
  // soapAction: http://ekoindri.com/radphp/research/soap_sis_register.php/%operationName%
  // transport : http://schemas.xmlsoap.org/soap/http
  // style     : rpc
  // binding   : SERVICE_REGISTERBinding
  // service   : SERVICE_REGISTER
  // port      : SERVICE_REGISTERPort
  // URL       : http://ekoindri.com/radphp/research/soap_sis_register.php
  // ************************************************************************ //
  SERVICE_REGISTERPortType = interface(IInvokable)
  ['{6F4B3283-56CE-3B86-942A-9F922DA6F4E8}']
    function  SIS_Login(const server_host: string; const server_database: string; const server_username: string; const server_password: string; const user_name: string; const user_password: string
                        ): TInfologins; stdcall;
    function  SIS_Daftar_NotArray(const server_host: string; const server_database: string; const server_username: string; const server_password: string; const username: string; const password: string; 
                                  const nama_awal: string; const nama_tengah: string; const nama_akhir: string; const otorisasi: string; const email: string; 
                                  const website: string; const YM: string; const alamat: string; const kota: string; const propinsi: string; 
                                  const keterangan: string): string; stdcall;
    function  SIS_Daftar_Array(const server: TInfoServer; const input: TInfologin): string; stdcall;
    function  TestInfologin(const input: TInfologin): string; stdcall;
  end;

function GetSERVICE_REGISTERPortType(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): SERVICE_REGISTERPortType;


implementation
  uses SysUtils;

function GetSERVICE_REGISTERPortType(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): SERVICE_REGISTERPortType;
const
  defWSDL = 'http://ekoindri.com/radphp/research/soap_sis_register.php?wsdl';
  defURL  = 'http://ekoindri.com/radphp/research/soap_sis_register.php';
  defSvc  = 'SERVICE_REGISTER';
  defPrt  = 'SERVICE_REGISTERPort';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as SERVICE_REGISTERPortType);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


initialization
  InvRegistry.RegisterInterface(TypeInfo(SERVICE_REGISTERPortType), 'http://localhost', 'ISO-8859-1');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(SERVICE_REGISTERPortType), 'http://ekoindri.com/radphp/research/soap_sis_register.php/%operationName%');
  RemClassRegistry.RegisterXSClass(TInfoServer, 'http://localhost', 'TInfoServer');
  RemClassRegistry.RegisterXSClass(TInfologin, 'http://localhost', 'TInfologin');
  RemClassRegistry.RegisterXSInfo(TypeInfo(TInfologins), 'http://localhost', 'TInfologins');

end.